#ifndef BOOLSTATUS_H_
#define BOOLSTATUS_H_

#include "StatusElement.h"

/**
 * \class BoolStatus
 * \brief a StatusElement-derived class which holds a bool
 */
class BoolStatus: public StatusElement {
public:
	/**
	 * \brief BoolStatus must be declared with a description
	 */
	BoolStatus(std::string statusDiscription);
	virtual ~BoolStatus();

	/**
	 * \brief redefinition of \a Element::getType() to return the correct value
	 * \return BOOLSTATUS
	 */
	int getType();
	/**
	 * \brief set the stored bool
	 * \param newBoolValue the new bool to store
	 */
	void setValueBool(bool newBoolValue);
	/**
	 * \brief get the stored bool
	 * \return the stored bool
	 */
	bool getValueBool();

	void setValue(void* newValue);

private:
	/**
	 * \brief data member to store the bool
	 */
	bool valueBool;
};

#endif /* BOOLSTATUS_H_ */
